TSKaigi 2026
https://gyazo.com/cbf75b3dda45e2bfe3e686bb5ebcbf04
TSKaigi 2026
マイタイムテーブル | TSKaigi 2026
この機能最高
「関数型プログラミング」を分解する.ts | TSKaigi 2026
「関数型プログラミング」を分解する.ts - Slidev
ガベージコレクションも関数型に入る
moduleの内部はまあいいけど、ちゃんとしたインターフェースになっていればいい
これはわかる
同一性・不変性
ID比較とかそう
純粋関数
暗黙の入出力も持たない関数
副作用を表す値を返す
継続
計算の残りの部分
returnは残りの部分を実行する
promiseって継続?
thenでつなぐ
継続の結果をいじること
Option
promiseに似た概念
HaskellのMaybeとdo
direct-style
yeldの話しみたいなのを思い出す
関係性から理解する"同一性"の型用語たち | TSKaigi 2026
関係性から理解する"同一性"の型用語たち - Speaker Deck
公称型
構造的に解釈するTSと違って代入ができてしまう
プリミティブ
ほとんどの言語で透過的である
Branded Type
Opaque Type
幽霊型
そうなんだよな。代入できるんだよね
そこでBranded Typeなんだよなrkasu.icon
ノミナルにする
権限チェックの一貫性を型で守る TypeScript による多層防御 | TSKaigi 2026
Flyle(フライル)|コンタクトセンター・CXのAI変革パートナー
アクセス権限まわり(フォルダで制限する)
絞っていくような感じかな?
判定条件が各レイヤーごとに書く場所が違う問題を一貫性担保するためにTSの型でちゃんとする
DBをSSoTとして管理する
マスターデータみたいな型を作ってDBとの値集合のズレを型で検出する
一貫性を型で守る
自動追従
文字列をtemplate literal typesとして取り出す
でましたinfer
フロントエンド側でそういう
plv8
DBを型で守るやつ
checker.tsにチキンレースを仕掛けてみた:型エラー(TS2589)が発生する境界線を求めて | TSKaigi 2026
TS2589
checker.tsにチキンレースを仕掛けてみた: 型エラー(TS2589)が発生する境界線を求めて - Slidev
型の深宇宙へ飛び込め ─ tscを遅くする記述パターンの全解剖 ─ | TSKaigi 2026
--analyze-trace
TypeScriptのclassはなぜこうなったのか — 歴史・落とし穴・そして使いどころを探る | TSKaigi 2026
懐かしいなclass
歴史を追うの好き
classを使わない。全部値として表現できる
Stage 3 Decorators でできること / できないこと | TSKaigi 2026
なつかしい話だ
class fieldsのサポート
メタデータとか引数デコレータはStage1だから全然まだまだ
これ長い道のりだな。。歴史を追うの面白そう
TanStack部屋には行かずに休憩してた
Zod v4 Codec でスキーマに型変換を埋め込む REST API 設計 | TSKaigi 2026
Codecs | Zod
日付変換問題
Road to contributor of Valibot - ValibotにISBN validationを追加するまで - | TSKaigi 2026
ISBN
Valibot
~runが便利
Navigation APIがlib.dom.d.tsに採用されるまでの道のり | TSKaigi 2026
TS5.9まで型がなかった
WebIDLの話もあった
登壇中にワイの北海道の登壇内容を宣伝してくれた!感謝!
TS 7: How We Got There | TSKaigi 2026
TS7本当にめでたい
最後の方抜けたのでちゃんと録画みたい
制約と時代から読み解くTypeScriptコンパイラ設計史 | TSKaigi 2026
制約と時代から読み解くTypeScriptコンパイラ設計史 | ドクセル
コンパイラ周り僕もいつか挑戦したいのでその時に読み返す内容にはなりそう
Source→Scanner→Parser
改めてJSありきのTSってのが分かる
エディター/IDEを最初から念頭においた独自なしくみだったのは知らなかった
ReactとSvelteのその先、Ripple-TS | TSKaigi 2026
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS - Speaker Deck
Ripple TS
Ripple-TS
TSRX
テンプレート構文時代来るか??
LLM時代のリファクタリング戦略:AIエージェントによる段階的・安全なTS移行方法 | TSKaigi 2026
OpenAPIから生成された型をSDK経由でAIに食わせることで段階的なTS化をしている
コーディングエージェントはTypeScriptの型エラーをどう自己修正しているのか | TSKaigi 2026
「バイトル」のTypeScriptリニューアル — 積み上がったレガシーとパフォーマンスに挑む現在地 | TSKaigi 2026
歴史長いサービスだった
tsserverとは何だったのか、これからどうなるのか | TSKaigi 2026
TSServer
ホバーとかカーソルの位置を確認したりするAPI
テキストエディタ向けのプラグイン
Node.js+TypeScriptにおけるCJS/ESM相互運用の最新ポイント | TSKaigi 2026
ESM本当に良かった
enum よ、さようなら | TSKaigi 2026
TSKaigi 2026 - enumよ、さようなら - Speaker Deck
enum
inferと仲良くなる10分間 | TSKaigi 2026
ワイの登壇rkasu.icon
いつテストを書くか?―ソフトウェア開発における安心と不安について考える | TSKaigi 2026
哲学的な内容で非常に良かった
https://docs.google.com/presentation/d/e/2PACX-1vSuTOMT21i3AsVT0xiy9wZV1h2ZytSbFKjEFzcslLvmv2sHQ2VNgPRGXiEQid32557D1wxlB_XmlIpT/pub?slide=id.SLIDES_API405771716_0
ソフトウェアにソフトになるように考案された
変更安易性は人間とソフトウェアの関係である
これは視点だった
確かにそうだなインターフェースという点でもそうだし
開放閉鎖原則
ソフトウェアの振る舞いは既存の成果物を変更せず拡張できるようにすべき
テストケース
ユニットテストを作りまくるのはアカン
すぐ捨てることができるテストが特にアカン
小さく出してloopを回す必要がある
それが拡張につながる
開発者が構造上の問題を理解するためのセンサーhttps://gyazo.com/45a760a02c5fedcad45b5106a79d7362
これだね。本当に
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践 | TSKaigi 2026
途中からだったけどかなり難易度の高いことしてる
childrenの順序まで型で縛る ── Branded Typesで実践するJSXの構造安全 | TSKaigi 2026
childrenの順序まで型で縛る ── Branded Typesで実践するJSXの構造安全 - Speaker Deck
Branded Types
スプレッド構文によるブランド流出問題を乗り越えて、オブジェクト型に対する Branded Types を使い倒す | TSKaigi 2026
Branded Types
これ結構いいかも
というかスプレッド構文でぶっ壊れるの知らなかった
スプレッド構文によるブランド流出問題を乗り越えて、オブジェクト型に対する Branded Types を使い倒す @TSKaigi 2026 | ドクセル
string地獄を脱出する — ValueObject + Zod 実践パターン | TSKaigi 2026
#TSKaigi #TypeScript